function output = my_setResearchArea(data,mask,nantag)
% output = my_setResearchArea(data,mask,nantag)
%
% --------自定义函数--------
% 函数名称：my_setResearchArea
% 函数说明：
%   将lat-lon（-time）三维或二维数组根据mask文件提取研究区内的数据，
%   将研究区外的数据设为指定值，默认为nanflag指定的值
% 函数输入：
%   data： 三维数组，lat-lon-time
%   mask： 掩膜文件，上北右东，[0,1]
%   nanflag：设置成目标值。
% 函数输出：output
% my_setResearchArea作data,mask者：sid
% LOG：
%    2021/11/09 ver 0.1: create
%    2021/11/09 ver 0.2: update 增加支持2维数据。

switch nargin
case 3
    true;
case 2
    nantag = nan;
end

switch ndims(data)
case 2
    data(~mask) = nantag;
    output = data;
case 3
    SIZE = size(data);
    data = my_shiftdim(data,1);
    data(:,~mask(:)) = nantag;
    output = my_shiftdim(data,2,SIZE);
end
end